/**
 * Main.java
 * 作者：IccBoY
 * 2017年6月4日 创建文件
 */
package com.iccboy.cupload;

import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;

import com.iccboy.cupload.util.PropertyUtil;
import com.iccboy.cupload.web.Web;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 **************************************************
 * 程序main函数入口
 * 
 * @version 1.0.0
 * @author iccboy
 **************************************************
 */
public class Main {

	private static final Logger LOGGER = LoggerFactory.getLogger(Main.class);

	/**
	 * 配置文件路径
	 */
	private static final String CONFIG_FILE = "config.properties";

	/**
	 * 读取配置文件
	 */
	static {
		PropertyUtil.readProperties(CONFIG_FILE);
	}
	
	/**
	 * 
	 * @param args
	 * @throws Exception
	 * @since 1.0.0
	 * @author iccboy 2017年6月5日 创建方法
	 */
	public static void main(String[] args) throws Exception {
		LOGGER.info("...............服务启动中...............{}", getVersion());
		int port = PropertyUtil.getInt("server.port");
		String ctx = PropertyUtil.get("server.ctx");
		Server server = new Server(port);
		ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
		context.setContextPath(ctx);
		server.setHandler(context);
		context.addServlet(new ServletHolder(new Web()), "/");
		server.start();
		LOGGER.info("...............服务启动完成...............");
		server.join();
	}

	private static String getVersion() {
		String version = Main.class.getPackage().getImplementationVersion();
		return version == null ? "" : version;
	}
}
